package com.banyou.banyou.adapter;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.banyou.banyou.R;
import com.banyou.banyou.bean.journey.JourneyBean;

import java.util.List;

import butterknife.BindView;
import butterknife.ButterKnife;

/**
 * ----------Dragon be here!----------/
 * 　　　┏┓　　　┏┓
 * 　　┏┛┻━━━┛┻┓
 * 　　┃　　　　　　　┃
 * 　　┃　　　━　　　┃
 * 　　┃　┳┛　┗┳　┃
 * 　　┃　　　　　　　┃
 * 　　┃　　　┻　　　┃
 * 　　┃　　　　　　　┃
 * 　　┗━┓　　　┏━┛
 * 　　　　┃　　　┃神兽保佑
 * 　　　　┃　　　┃代码无BUG！
 * 　　　　┃　　　┗━━━┓
 * 　　　　┃　　　　　　　┣┓
 * 　　　　┃　　　　　　　┏┛
 * 　　　　┗┓┓┏━┳┓┏┛
 * 　　　　　┃┫┫　┃┫┫
 * 　　　　　┗┻┛　┗┻┛
 * ━━━━━━神兽出没━━━━━━
 * 项目名称：BanYou
 * 包名:com.banyou.banyou.adapter
 * 类描述：
 * 创建人：LX
 * 创建时间：2017/5/25 下午5:57
 * 修改人：LX
 * 修改时间：2017/5/25 下午5:57
 * 修改备注：
 */

public class ListAdapter extends RecyclerView.Adapter<ListAdapter.ListViewHolder> {

    private Context mContext;
    private List<JourneyBean> mList;

    public ListAdapter(Context context, List<JourneyBean> list) {
        mContext = context;
        mList = list;
    }

    @Override
    public ListViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(mContext).inflate(R.layout.fragment_list_item, null);
        ListViewHolder holder = new ListViewHolder(view);
        return holder;
    }

    @Override
    public void onBindViewHolder(ListViewHolder holder, int position) {
        int fixPosition = position ;
        holder.mOrderId.setText("订单编号：" + mList.get(fixPosition).getCustomerOrderId());
        holder.mOrderTime.setText("行程时间：" + mList.get(fixPosition).getOrderDates());
        holder.mDownTime.setText("总天数：" + mList.get(fixPosition).getOrderDays());
        holder.mOrderTime.setText("行程时间：" + mList.get(fixPosition).getOrderDates());
        if (mList.get(fixPosition).getAttributes() != null)
            holder.mName.setText("游客姓名：" + mList.get(fixPosition).getAttributes().getUSER_NAME());
        if (mList.get(fixPosition).getOrderState() == 1) {
            holder.mMask.setImageResource(R.drawable.unpay_mask);
        } else if (mList.get(fixPosition).getOrderState() == 2) {
            holder.mMask.setImageResource(R.drawable.untake_mask);
        } else if (mList.get(fixPosition).getOrderState() == 3 || mList.get(fixPosition).getOrderState() == 4) {
            holder.mMask.setImageResource(R.drawable.doing_mask);
        } else if (mList.get(fixPosition).getOrderState() == 5) {
            holder.mMask.setImageResource(R.drawable.down_mask);
        } else if (mList.get(fixPosition).getOrderState() == 7) {
            holder.mMask.setImageResource(R.drawable.cancleing_mask);
        } else if (mList.get(fixPosition).getOrderState() == 8) {
            holder.mMask.setImageResource(R.drawable.cancle_mask);
        } else if (mList.get(fixPosition).getOrderState() == 9) {
            holder.mMask.setImageResource(R.drawable.fail_mask);
        }
    }

    @Override
    public int getItemCount() {
        return mList.size();
    }

    class ListViewHolder extends RecyclerView.ViewHolder {

        @BindView(R.id.name)
        TextView mName;
        @BindView(R.id.price)
        TextView mPrice;
        @BindView(R.id.order_time)
        TextView mOrderTime;
        @BindView(R.id.down_time)
        TextView mDownTime;
        @BindView(R.id.mask)
        ImageView mMask;
        @BindView(R.id.order_id)
        TextView mOrderId;

        public ListViewHolder(View itemView) {
            super(itemView);
            ButterKnife.bind(this, itemView);
            itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if (mListener != null) {
                        mListener.onItemClick(v, getLayoutPosition());
                    }
                }
            });
        }
    }

    private SearchAdapter.OnItemClickListener mListener;

    public void setOnItemClickListener(SearchAdapter.OnItemClickListener listener) {
        mListener = listener;
    }

    interface OnItemClickListener {
        void onItemClick(View view, int position);
    }
}
